package com.malou.server.graficosestadisticos;

import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpSession;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.malou.client.graficosestadisticos.GraficosService;
import com.malou.client.graficosestadisticos.PrendasVendidasxDia;
import com.malou.client.graficosestadisticos.PrendasVendidasxFecha;
import com.malou.client.seguridad.usuario.Usuario;
import com.malou.server.seguridad.usuario.Usuarios;

public class GraficosServiceImpl extends RemoteServiceServlet implements GraficosService {
	private static final long serialVersionUID = 1L;

	@Override
	public List<PrendasVendidasxDia> getPrendasVendidasxDia(Date fecha, Integer tienda_id) {				
		
		if(tienda_id == null){
			Usuario user = getUsuarioSession();
			tienda_id = user.getIdtienda();
		}
		
		return Graficos.getPrendasVendidasxDia(fecha, tienda_id);
	}
	
	private Usuario getUsuarioSession() {
		HttpSession session = getThreadLocalRequest().getSession(true);
		if (session.getAttribute("username") != null){
			String username = (String) session.getAttribute("username");
			
	        return Usuarios.getResponsable(username);  
	    }else{
	    	return null;
	    }
	}

	@Override
	public List<PrendasVendidasxDia> getPrendasVendidasxDia(Date fecha) {
		return Graficos.getPrendasVendidasxDia(fecha);
	}

	@Override
	public List<PrendasVendidasxFecha> getPrendaVendidaxFecha(
			Date fechainicial, Date fechafinal, Integer modeloprenda_id,
			Integer tienda_id) {
		
		if(tienda_id == null){
			Usuario user = getUsuarioSession();
			tienda_id = user.getIdtienda();
		}
		return Graficos.getPrendaVendidaxFecha(fechainicial, fechafinal, modeloprenda_id, tienda_id);
	}

	@Override
	public List<PrendasVendidasxFecha> getPrendasVendidasxFecha(
			Date fechainicial, Date fechafinal, Integer tienda_id) {
		if(tienda_id == null){
			Usuario user = getUsuarioSession();
			tienda_id = user.getIdtienda();
		}
		return Graficos.getPrendasVendidasxFecha(fechainicial, fechafinal, tienda_id);
	}

	@Override
	public List<PrendasVendidasxFecha> getPrendasVendidasxFecha(
			Date fechainicial, Date fechafinal) {
		return Graficos.getPrendasVendidasxFecha(fechainicial, fechafinal);
	}
	
	@Override
	public List<PrendasVendidasxFecha> getPrendaVendidaxFecha(
			Date fechainicial, Date fechafinal, Integer modeloprenda_id) {
		return Graficos.getPrendaVendidaxFecha(fechainicial, fechafinal, modeloprenda_id);
	}
}
